define(function (require, exports, module) {
	var W = require('widget');
	var T = require('templatable');
	require('./smartWidget.css');

	var tpl = Handlebars.compile(require('./smartWidget.tpl'));
	var model = {
		title: "",
		icon: "",
		setButton: false,           // 设置按钮
		zoomButton: true,           // 收缩按钮
		expandButton: true,             // 最大化按钮
		delButton: false,               // 删除按钮
		toolbar: false,                 // 工具栏
		footer: false,                  // 底边


	}


	var Page = W.extend({
		attrs: {},
		model: {

		},
		template: tpl,
		Implements: [T],
		initProps: function () {
		},
		events: {
			'click .jarviswidget-ctrls [data-action=set]': 'setButton_click',
			'click .jarviswidget-ctrls [data-action=zoom]': 'zoomButton_click',
			'click .jarviswidget-ctrls [data-action=expand]': 'expandButton_click',
			'click .jarviswidget-ctrls [data-action=del]': 'delButton_click',

		},
		setup: function () {
		},
		destroy: function () {
			Page.superclass.destroy.call(this);
		},
		/* DOM action
		 -----------------------------------------*/
		/**
		 * 设置按钮事件
		 */
		setButton_click: function () {
			// todo 用到再说
		},
		/**
		 * 展开/收缩按钮事件
		 */
		zoomButton_click: function (event) {
			var self = this;

			var $target = $(event.currentTarget);
			var $icon = $target.find('i');
			var $content = $target.parents('.jarviswidget').find('[data-role=content]');
			if ($icon.hasClass('fa-minus')) {
				$icon.removeClass('fa-minus').addClass('fa-plus');
				$content.slideUp(function(){
					// todo 监听事件
				});

			} else {
				$icon.removeClass('fa-plus').addClass('fa-minus');
				$content.slideDown(function(){
					// todo 监听事件
				});
			}


		},
		/**
		 * 最大化按钮事件
		 */
		expandButton_click: function (event) {
			var self = this;

			var $target = $(event.currentTarget);
			var $icon = $target.find('i');
			var $content = $target.parents('.jarviswidget').find('[data-role=content]');
			if ($icon.hasClass('fa-expand')) {
				$icon.removeClass('fa-expand').addClass('fa-compress');
				$(this.element).addClass('widget-fullscreen');
				var height = $(this.element).height() - 34;
				$content.height(height);
				// todo 监听事件

			}else{
				$icon.removeClass('fa-compress').addClass('fa-expand');
				$(this.element).removeClass('widget-fullscreen');
				$content.height('auto');
				// todo 监听事件
			}

		},
		/**
		 * 删除按钮事件
		 */
		delButton_click: function () {
			// todo 这个还没有想好要怎么写
		},
		/* Method
		 --------------------------------------------*/
		/**
		 * 加载中
		 */
		loading: function () {
			this.$('.jarviswidget-loader').show();
		},
		/**
		 * 加载完成
		 */
		loadReady: function () {
			this.$('.jarviswidget-loader').hide();
		}
	});

	exports.page = Page;
	exports.model = model;
});